jQuery.fn.extend({ 
	numero: function() {
	    $(this).keypress(function(event) {
	        var tecla = (window.event) ? event.keyCode : event.which;
	        if ((tecla > 47 && tecla < 58)) return true;
	        else {
	            if (tecla != 8) return false;
	            else return true;
	        }
	    });

	},
	disable: function() { 
		$(this).attr("disabled", true);
		$(this).css("background-color", "#EEE"); 
	},
	enable: function() { 
		$(this).attr("disabled", false);
		$(this).css("background-color", "#FFF"); 
	},
	dropDownData: function(data, id) {
		var template;
		$(this).html('');
		if(data != null){
			$.each(data.list, function(name, value) {
				template += '<option value="' + value['id'] + '">' + value['nome'] + '</option>';
			});	
		}else{
			dropDownEmpty(seletor)
		}
		$(this).append(template);	
		if(id != null){
			$(this).val(id);
		}	
	},	
	dropDownEmpty: function(){
		var template;
		$(this).html('');	
		template = '<option value="0">Nenhum registro encontrado</option>';
		$(this).append(template);
	},
	dropDwon: function(url, async, id){
		if(async == null){
			async = true;
		}
		var sel = this.attr('id');
		$.ajax({
			url : url, dataType: 'json', async: async, // O async False serve para fazer com que as pesquisas ajax aguardem 										
			success : function(data) {                 // o termino da anterior para executar. Tem alguns metodos que dependem de outros
				$('#' + sel).dropDownData(data, id);
				//addFeedbackNotifications(data); 
			},
			error : function(data) {
				$('#' + sel).dropDownEmpty();
				//addFeedbackNotifications(data); 
			}
		});
	}
});

